# 闭包：嵌套内部函数，执行外层函数的输入函数,这里的 fn 输入的必须是函数，返回嵌套的内部函数内存地址
def external_parameters(n):
    def dif_longer(fn):
        # 1. 嵌套内部函数
        def inner(*args, **kwargs):
            # 装饰器功能
            print(f"外部参数n：{n}")
            print(f"-- 打印日志{args},{kwargs} -- ")
            # 2. 引用且执行外层函数的输入参数
            return fn(*args, **kwargs)

        # 3. 返回嵌套的内部函数内存地址
        return inner

    return dif_longer


@external_parameters(256)
def a():
    print(1)

a()
